package 多线程.线程的常用方法;

// Thread提供的常用方法
// 1. public void run(): 线程的任务方法
// 2. public void start(): 启动线程
// 3. public String getName(): 获取当前线程的名称, 线程名称默认是Thread-索引
// 4. public void setName(): 为线程设置名称
// 5. public static Thread currentThread(): 获取当前执行的线程对象
// 6. public static void sleep(long time): 让当前执行的线程休眠多少毫秒后, 再继续执行
// 7. public final void join()...: 让调用当前这个方法的线程先执行完!

// Thread提供的常见构造器
// 1. public Thread(String name): 可以为当前线程指定名称
// 2. public Thread(Runnable target): 封装Runnable对象成为线程对象
// 3. public Thread(Runnable target, String name): 封装Runnable对象成为线程对象, 并指定线程名称

public class Test {
    public static void main(String[] args) {
        Thread t1 = new MyThread();
        // 设置名字
        t1.setName("一号线程");
        t1.start();
        // 获取Thread对象名称
        System.out.println(t1.getName());

        Thread t2 = new MyThread();
        t2.setName("二号线程");
        t2.start();
        System.out.println(t2.getName());

        // 获取主线程对象名称
        // 哪个线程执行它, 他就会得到哪个线程对象
        Thread m = Thread.currentThread();
        m.setName("主线程");
        System.out.println(m.getName());

        for (int i = 0; i < 5; i++) {
            System.out.println("main主线程输出: " + i);
        }
    }
}
